home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Games / NetHack 3.1.3 / source / sys / mac / NetHack.make < prev    next >
Encoding:
Text File  |  1993-08-01  |  25.2 KB  |  769 lines  |  [TEXT/R*ch]

  1. # This is a complete MPW makefile for Nethack and all its associated files
  2. # Requires MPW C3.2ß3 or later. Earlier versions will fail horribly because
  3. # they can't cope with /* /* */ comments
  4. #
  5. # For NetHack 3.1 Nov 1991
  6. #
  7. # by Michael™ Hamel and Ross Brown 1991 : michael@otago.ac.nz
  8.  
  9. #--------------------------------------------------------------------------
  10. #
  11. # BEFORE YOU BUILD FOR THE FIRST TIME
  12. #  Set this equate to the folder containing all the NetHack source folders
  13.  
  14. Top          = {MPW}nh31:
  15.  
  16. #  Set the default directory to {Top}
  17. #  Move NetHack.make into {Top}
  18. #  Make two new empty folders in top:
  19. #    - Obj for the object files
  20. #    - Dungeon for the completed game
  21. #  Ensure that you have at least 7000K allocated to the MPW Shell
  22. #
  23. #--------------------------------------------------------------------------
  24.  
  25. # Set up symbols for folders from the distribution
  26. Src          = {Top}Src:
  27. Util        = {Top}Util:
  28. Dat           = {Top}Dat:
  29. Include    = {Top}Include:
  30. MacDir       = {Top}Sys:Mac:
  31. TtyDir     = {Top}Win:Tty:
  32. MacTty     = {Top}Sys:Mac:
  33. Share       = {Top}Sys:Share:
  34.  
  35. # These two folders are new
  36. ObjDir     = {Top}Obj:                # "Temporary" stuff
  37. Results       = {Top}Dungeon:            # Where the game goes
  38.  
  39. # Override the settings in "{Include}"config.h
  40. NHConfig = -d SCORE_ON_BOTL -d VISION_TABLES
  41.  
  42. # Type and creator - note that we use "PREF" for all non-save files
  43. # currently. Since we will integrate the data files into the game
  44. # sooner or later, this doesn't matter much.
  45. FileType   = PREF
  46. FileCreator= nh31
  47.  
  48. # NetHack is an abstract target which in fact consists of:
  49.  
  50. SpecialLevels = "{Results}"BigRoom.lev  ∂
  51.                 "{Results}"Castle.lev   ∂
  52.                 "{Results}"air.lev        ∂
  53.                 "{Results}"Medusa-1.lev ∂
  54.                 "{Results}"Quest.Dat     ∂
  55.                 "{Results}"Valley.lev    ∂
  56.                 "{Results}"Oracle.lev   ∂
  57.                 "{Results}"Tower1.lev   ∂
  58.                 "{Results}"A-start.lev  ∂
  59.                 "{Results}"B-start.lev  ∂
  60.                 "{Results}"C-start.lev  ∂
  61.                 "{Results}"E-start.lev  ∂
  62.                 "{Results}"H-start.lev  ∂
  63.                 "{Results}"K-start.lev  ∂
  64.                 "{Results}"P-start.lev  ∂
  65.                 "{Results}"R-start.lev  ∂
  66.                 "{Results}"S-start.lev  ∂
  67.                 "{Results}"T-start.lev  ∂
  68.                 "{Results}"V-start.lev  ∂
  69.                 "{Results}"W-start.lev  ∂
  70.                 "{Results}"Mine_End.lev ∂
  71.                 "{Results}"knox.lev        ∂
  72.                 "{Results}"wizard1.lev
  73.  
  74. DataFiles     =    "{Results}"Dungeon    ∂
  75.                 "{Results}"Record   ∂
  76.                 "{Results}"NetHack∂ Defaults   ∂
  77.                 "{Results}"Data     ∂
  78.                 "{Results}"Rumors    ∂
  79.                 "{Results}"Oracles    ∂
  80.                 "{Results}"Cmdhelp
  81.                 
  82. NetHack ƒ   {SpecialLevels} {DataFiles} "{Results}"NetHack 
  83.  
  84. # These files are seperate on other machines, but here they are built
  85. # into the application by NetHack.r
  86.  
  87. BuiltInData =   "{Dat}"hh             ∂
  88.                 "{Dat}"History         ∂
  89.                 "{Dat}"License         ∂
  90.                 "{Dat}"Help         ∂
  91.                 "{Dat}"Wizhelp         ∂
  92. #                "{Dat}"Cmdhelp         ∂
  93.                 "{Dat}"Opthelp        ∂
  94.                 "{MacDir}"Machelp    ∂
  95.                 "{MacDir}"News        ∂
  96.                 "{ObjDir}"Options
  97.                            
  98.  
  99. # For debugging: if you change this you need to discard everything in {Objs}
  100. SADEOptions = # -sym full
  101.  
  102. # <32K file-level segmentation scheme
  103. LinkType = -mf -srt                                             ∂
  104.            -sg Main=allmain,macmain,random,rnd,STDCLIB,STDIO    ∂
  105.            -sg ARes=apply                                        ∂
  106.            -sg BRes=botl,display,vision                            ∂
  107.            -sg CRes=do_wear,cmd,track                            ∂
  108.            -sg DRes=do                                            ∂
  109.            -sg ERes=dog,dogmove                                    ∂
  110.            -sg FRes=eat,mttymain,mactty                            ∂
  111.            -sg GRes=engrave,dungeon,dbridge                        ∂
  112.            -sg HRes=hack,hacklib                                ∂
  113.            -sg IRes=invent                                        ∂
  114.            -sg JRes=monmove,mon                                    ∂
  115.            -sg KRes=mondata,mthrowu,muse,were,wizard            ∂
  116.            -sg LRes=macwin,wintty                                ∂
  117.            -sg MRes=macmenu                                ∂
  118.            -sg NRes=pickup,sounds,vault                            ∂
  119.            -sg ORes=quest,trap                                    ∂
  120.            -sg PRes=timeout,attrib,lock
  121. BuildType = -m -s {Default}     # Make a new segment for each file by default 
  122.  
  123. # Alternatively you can use 
  124. # LinkType = -model far
  125. # BuildType = -model far -d MODEL_FAR
  126.  
  127. # We use the default rule that .c.o files depend on .c files: set up these
  128. # directory variables so it knows where to find them
  129.  
  130. "{ObjDir}" ƒ "{Src}" "{Util}" "{MacDir}" "{Share}" "{TtyDir}" "{MacTty}"
  131.   
  132. # Compiler options. We set up to look in the Mac dir first for include files
  133. # so we can take over hack.h and use a dump file
  134. COptions = -r                             # Warn about undefined functions         ∂
  135.            -i "{MacDir}","{Include}"     # Where to look for include files         ∂
  136.            {BuildType}                    ∂
  137.            -mbg full                    ∂
  138.            {NHConfig}                    ∂
  139.            {SADEOptions}
  140.  
  141. NetHackLink = {LinkType} -c 'nh31' -t APPL -mf ∂
  142.               {SADEOptions}   #  -map >link.map 
  143.  
  144. MPWToolLink    = -br on -srt -d -c 'MPS ' -t MPST -sn %A5Init=Init
  145.  
  146.  
  147. # ------------ The include files depend on one another ---------------
  148. # Rather than touching them which makes it look as though they have changed
  149. # when they haven't and generates unnecessary backups, we define symbols:
  150.  
  151. macconf.h = "{Include}"macconf.h "{Include}"system.h
  152.  
  153. pcconf.h = "{Include}"pcconf.h "{Include}"micro.h "{Include}"system.h
  154.  
  155. global.h = "{Include}"global.h "{Include}"coord.h {pcconf.h} {macconf.h}
  156.  
  157. config.h = "{Include}"config.h "{Include}"tradstdc.h {global.h}
  158.  
  159. youprop.h = "{Include}"youprop.h "{Include}"prop.h {permonst.h} "{Include}"mondata.h ∂
  160.             "{Include}"pm.h
  161.  
  162. you.h = "{Include}"you.h "{Include}"attrib.h "{Include}"monst.h {youprop.h}
  163.  
  164. decl.h    = "{Include}"decl.h    "{Include}"spell.h "{Include}"color.h "{Include}"obj.h ∂
  165.           {you.h} "{Include}"onames.h
  166.  
  167. display.h = "{Include}"display.h "{Include}"vision.h "{Include}"mondata.h
  168.  
  169. emin.h = "{Include}"emin.h "{Include}"dungeon.h
  170.  
  171. epri.h = "{Include}"epri.h "{Include}"dungeon.h
  172.  
  173. eshk.h = "{Include}"eshk.h "{Include}"dungeon.h
  174.  
  175.  
  176. permonst.h = "{Include}"permonst.h     "{Include}"monattk.h "{Include}"monflag.h
  177.  
  178. vault.h = "{Include}"vault.h "{Include}"dungeon.h
  179.             
  180. #------------------- Use a dump file for hack.h to speed compiles -----------------
  181. # We do this by having our own hack.h in :sys:mac which just grabs the dump file
  182. # from Obj. The dependencies are set up to build the dump file if its missing
  183.  
  184. realhack.h = "{Include}"hack.h {config.h} "{Include}"dungeon.h {decl.h} ∂
  185.              "{Include}"monsym.h "{Include}"mkroom.h "{Include}"objclass.h ∂
  186.              "{Include}"trap.h "{Include}"flag.h "{Include}"rm.h ∂
  187.              {display.h} "{Include}"wintype.h "{Include}"engrave.h ∂
  188.              "{Include}"rect.h  "{Include}"trampoli.h "{Include}"extern.h 
  189.  
  190. hack.h = "{ObjDir}"hack.hdump
  191.  
  192. # This compile is done solely for the side effect of generating hack.hdump
  193. "{ObjDir}"hack.hdump ƒ {realhack.h} "{MacDir}"mhdump.c
  194.     C -i "{Include}" {NHConfig} {SADEOptions} ∂
  195.       "{MacDir}"mhdump.c -o "{ObjDir}"mhdump.c.o
  196.  
  197.  
  198. "{Include}"lev_comp.h ƒ "{Share}"lev_comp.h
  199.     duplicate -y "{Share}"lev_comp.h "{Include}"lev_comp.h
  200.  
  201. "{Include}"dgn_comp.h ƒ "{Share}"dgn_comp.h
  202.     duplicate -y "{Share}"dgn_comp.h "{Include}"dgn_comp.h
  203.  
  204. #------------------- NetHack objects -----------------
  205.  
  206. CObjs = "{ObjDir}"allmain.c.o ∂
  207.         "{ObjDir}"alloc.c.o ∂
  208.         "{ObjDir}"apply.c.o ∂
  209.         "{ObjDir}"artifact.c.o ∂
  210.         "{ObjDir}"attrib.c.o ∂
  211.         "{ObjDir}"ball.c.o ∂
  212.         "{ObjDir}"bones.c.o ∂
  213.         "{ObjDir}"botl.c.o ∂
  214.         "{ObjDir}"cmd.c.o ∂
  215.         "{ObjDir}"dbridge.c.o ∂
  216.         "{ObjDir}"decl.c.o ∂
  217.         "{ObjDir}"detect.c.o ∂
  218.         "{ObjDir}"display.c.o ∂
  219.         "{ObjDir}"do.c.o ∂
  220.         "{ObjDir}"do_name.c.o ∂
  221.         "{ObjDir}"do_wear.c.o ∂
  222.         "{ObjDir}"dog.c.o ∂
  223.         "{ObjDir}"dogmove.c.o ∂
  224.         "{ObjDir}"dokick.c.o ∂
  225.         "{ObjDir}"dothrow.c.o ∂
  226.         "{ObjDir}"drawing.c.o ∂
  227.         "{ObjDir}"dungeon.c.o ∂
  228.         "{ObjDir}"eat.c.o ∂
  229.         "{ObjDir}"end.c.o ∂
  230.         "{ObjDir}"engrave.c.o ∂
  231.         "{ObjDir}"exper.c.o ∂
  232.         "{ObjDir}"explode.c.o ∂
  233.         "{ObjDir}"extralev.c.o ∂
  234.         "{ObjDir}"files.c.o ∂
  235.         "{ObjDir}"fountain.c.o ∂
  236.         "{ObjDir}"hack.c.o ∂
  237.         "{ObjDir}"hacklib.c.o ∂
  238.         "{ObjDir}"invent.c.o ∂
  239.         "{ObjDir}"lock.c.o ∂
  240.         "{ObjDir}"maccurs.c.o ∂
  241.         "{ObjDir}"macerrs.c.o ∂
  242.         "{ObjDir}"macfile.c.o ∂
  243.         "{ObjDir}"macmain.c.o ∂
  244.         "{ObjDir}"macmenu.c.o ∂
  245.         "{ObjDir}"macsnd.c.o ∂
  246.         "{ObjDir}"macunix.c.o ∂
  247.         "{ObjDir}"macwin.c.o ∂
  248.         "{ObjDir}"makemon.c.o ∂
  249.         "{ObjDir}"mcastu.c.o ∂
  250.         "{ObjDir}"mgetline.c.o ∂
  251.         "{ObjDir}"mhitm.c.o ∂
  252.         "{ObjDir}"mhitu.c.o ∂
  253.         "{ObjDir}"minion.c.o ∂
  254.         "{ObjDir}"mklev.c.o ∂
  255.         "{ObjDir}"mkmap.c.o ∂
  256.         "{ObjDir}"mkmaze.c.o ∂
  257.         "{ObjDir}"mkobj.c.o ∂
  258.         "{ObjDir}"mkroom.c.o ∂
  259.         "{ObjDir}"mmodal.c.o ∂
  260.         "{ObjDir}"mon.c.o ∂
  261.         "{ObjDir}"mondata.c.o ∂
  262.         "{ObjDir}"monmove.c.o ∂
  263.         "{ObjDir}"monst.c.o ∂
  264.         "{ObjDir}"monstr.c.o ∂
  265.         "{ObjDir}"mplayer.c.o ∂
  266.         "{ObjDir}"mstring.c.o ∂
  267.         "{ObjDir}"mthrowu.c.o ∂
  268.         "{ObjDir}"muse.c.o ∂
  269.         "{ObjDir}"music.c.o ∂
  270.         "{ObjDir}"o_init.c.o ∂
  271.         "{ObjDir}"objects.c.o ∂
  272.         "{ObjDir}"objnam.c.o ∂
  273.         "{ObjDir}"options.c.o ∂
  274.         "{ObjDir}"pager.c.o ∂
  275.         "{ObjDir}"pickup.c.o ∂
  276.         "{ObjDir}"pline.c.o ∂
  277.         "{ObjDir}"polyself.c.o ∂
  278.         "{ObjDir}"potion.c.o ∂
  279.         "{ObjDir}"pray.c.o ∂
  280.         "{ObjDir}"priest.c.o ∂
  281.         "{ObjDir}"quest.c.o ∂
  282.         "{ObjDir}"questpgr.c.o ∂
  283.         "{ObjDir}"random.c.o ∂
  284.         "{ObjDir}"read.c.o ∂
  285.         "{ObjDir}"rect.c.o ∂
  286.         "{ObjDir}"restore.c.o ∂
  287.         "{ObjDir}"rip.c.o ∂
  288.         "{ObjDir}"rnd.c.o ∂
  289.         "{ObjDir}"rumors.c.o ∂
  290.         "{ObjDir}"save.c.o ∂
  291.         "{ObjDir}"shk.c.o ∂
  292.         "{ObjDir}"shknam.c.o ∂
  293.         "{ObjDir}"sit.c.o ∂
  294.         "{ObjDir}"sounds.c.o ∂
  295.         "{ObjDir}"sp_lev.c.o ∂
  296.         "{ObjDir}"spell.c.o ∂
  297.         "{ObjDir}"steal.c.o ∂
  298.         "{ObjDir}"timeout.c.o ∂
  299.         "{ObjDir}"mactopl.c.o ∂
  300.         "{ObjDir}"topten.c.o ∂
  301.         "{ObjDir}"track.c.o ∂
  302.         "{ObjDir}"trap.c.o ∂
  303.         "{ObjDir}"u_init.c.o ∂
  304.         "{ObjDir}"uhitm.c.o ∂
  305.         "{ObjDir}"vault.c.o ∂
  306.         "{ObjDir}"version.c.o ∂
  307.         "{ObjDir}"vision.c.o ∂
  308.         "{ObjDir}"vis_tab.c.o ∂
  309.         "{ObjDir}"weapon.c.o ∂
  310.         "{ObjDir}"were.c.o ∂
  311.         "{ObjDir}"wield.c.o ∂
  312.         "{ObjDir}"windows.c.o ∂
  313.         "{ObjDir}"wizard.c.o ∂
  314.         "{ObjDir}"worm.c.o ∂
  315.         "{ObjDir}"worn.c.o ∂
  316.         "{ObjDir}"write.c.o ∂
  317.         "{ObjDir}"zap.c.o ∂
  318.         ∂
  319.         "{ObjDir}"getline.c.o ∂
  320.         "{ObjDir}"topl.c.o ∂
  321.         "{ObjDir}"wintty.c.o ∂
  322.         ∂
  323.         "{ObjDir}"mactty.c.o ∂
  324.         "{ObjDir}"mttymain.c.o ∂
  325.         ∂
  326.         "{CLibraries}"StdClib.o ∂
  327.         "{Libraries}"Runtime.o ∂
  328.         "{Libraries}"Interface.o ∂
  329.         ∂
  330.         "{ObjDir}"dprintf.c.o
  331.  
  332. #------------- The object files depend upon the include files as follows -----
  333.  
  334. "{ObjDir}"allmain.c.o    ƒ  {hack.h}
  335. "{ObjDir}"alloc.c.o      ƒ  {config.h}
  336. "{ObjDir}"apply.c.o        ƒ  {hack.h} "{Include}"edog.h
  337. "{ObjDir}"artifact.c.o    ƒ  {hack.h} "{Include}"artifact.h "{Include}"artilist.h
  338. "{ObjDir}"attrib.c.o    ƒ  {hack.h} "{Include}"artifact.h
  339. "{ObjDir}"ball.c.o        ƒ  {hack.h}
  340. "{ObjDir}"bones.c.o        ƒ  {hack.h} "{Include}"lev.h
  341. "{ObjDir}"botl.c.o        ƒ  {hack.h}
  342. "{ObjDir}"cmd.c.o        ƒ  {hack.h} "{Include}"func_tab.h
  343. "{ObjDir}"dbridge.c.o    ƒ  {hack.h}
  344. "{ObjDir}"decl.c.o        ƒ  {hack.h} "{Include}"quest.h
  345. "{ObjDir}"detect.c.o    ƒ  {hack.h} "{Include}"artifact.h
  346. "{ObjDir}"display.c.o    ƒ  {hack.h}
  347. "{ObjDir}"do.c.o        ƒ  {hack.h} "{Include}"lev.h
  348. "{ObjDir}"do_name.c.o    ƒ  {hack.h}
  349. "{ObjDir}"do_wear.c.o    ƒ  {hack.h}
  350. "{ObjDir}"dog.c.o        ƒ  {hack.h} "{Include}"edog.h
  351. "{ObjDir}"dogmove.c.o    ƒ  {hack.h} "{Include}"mfndpos.h "{Include}"edog.h
  352. "{ObjDir}"dokick.c.o    ƒ  {hack.h} {eshk.h}
  353. "{ObjDir}"dothrow.c.o    ƒ  {hack.h}
  354. "{ObjDir}"drawing.c.o    ƒ  {hack.h} "{Include}"termcap.h
  355. "{ObjDir}"dungeon.c.o    ƒ  {hack.h} "{Include}"dgn_file.h
  356. "{ObjDir}"eat.c.o        ƒ  {hack.h}
  357. "{ObjDir}"end.c.o        ƒ  {hack.h} {eshk.h}
  358. "{ObjDir}"engrave.c.o    ƒ  {hack.h} "{Include}"lev.h
  359. "{ObjDir}"exper.c.o        ƒ  {hack.h}
  360. "{ObjDir}"explode.c.o    ƒ  {hack.h}
  361. "{ObjDir}"extralev.c.o    ƒ  {hack.h}
  362. "{ObjDir}"files.c.o        ƒ  {hack.h}
  363. "{ObjDir}"fountain.c.o    ƒ  {hack.h}
  364. "{ObjDir}"hack.c.o        ƒ  {hack.h}
  365. "{ObjDir}"hacklib.c.o    ƒ  {config.h}
  366. "{ObjDir}"invent.c.o    ƒ  {hack.h} "{Include}"artifact.h
  367. "{ObjDir}"lock.c.o        ƒ  {hack.h}
  368. "{ObjDir}"macmain.c.o    ƒ  {hack.h}
  369. "{ObjDir}"macmenu.c.o    ƒ  {hack.h} "{Include}"patchlevel.h
  370. "{ObjDir}"mmodal.c.o    ƒ  {hack.h}
  371. "{ObjDir}"macsnd.c.o    ƒ  {hack.h}
  372. "{ObjDir}"macwin.c.o    ƒ  {hack.h} "{Include}"mactty.h "{Include}"wintty.h "{Include}"func_tab.h
  373. "{ObjDir}"maccurs.c.o    ƒ  {hack.h}
  374. "{ObjDir}"macfile.c.o    ƒ  {hack.h}
  375. "{ObjDir}"macerrs.c.o    ƒ  {hack.h}
  376. "{ObjDir}"mactopl.c.o    ƒ  {hack.h}
  377. "{ObjDir}"macunix.c.o    ƒ  {hack.h}
  378. "{ObjDir}"mail.c.o        ƒ  {hack.h}
  379. "{ObjDir}"makemon.c.o    ƒ  {hack.h} {epri.h} {emin.h}
  380. "{ObjDir}"mcastu.c.o    ƒ  {hack.h}
  381. "{ObjDir}"mgetline.c.o    ƒ  {hack.h}
  382. "{ObjDir}"mhitm.c.o        ƒ  {hack.h} "{Include}"artifact.h "{Include}"edog.h
  383. "{ObjDir}"mhitu.c.o        ƒ  {hack.h} "{Include}"artifact.h "{Include}"edog.h
  384. "{ObjDir}"minion.c.o    ƒ  {hack.h} {emin.h} {epri.h}
  385. "{ObjDir}"mklev.c.o        ƒ  {hack.h}
  386. "{ObjDir}"mkmap.c.o        ƒ  {hack.h} "{Include}"sp_lev.h
  387. "{ObjDir}"mkmaze.c.o    ƒ  {hack.h}
  388. "{ObjDir}"mkobj.c.o        ƒ  {hack.h} "{Include}"artifact.h "{Include}"prop.h
  389. "{ObjDir}"mkroom.c.o    ƒ  {hack.h}
  390. "{ObjDir}"mon.c.o        ƒ  {hack.h} "{Include}"mfndpos.h "{Include}"edog.h
  391. "{ObjDir}"mondata.c.o    ƒ  {hack.h} {eshk.h} {epri.h}
  392. "{ObjDir}"monmove.c.o    ƒ  {hack.h} "{Include}"mfndpos.h "{Include}"artifact.h
  393. "{ObjDir}"monst.c.o        ƒ  {config.h} {permonst.h} "{Include}"monsym.h ∂
  394.                            {eshk.h} {vault.h} {epri.h}∂
  395.                            "{Include}"color.h
  396. "{ObjDir}"mplayer.c.o    ƒ  {hack.h}
  397. "{ObjDir}"mthrowu.c.o    ƒ  {hack.h}
  398. "{ObjDir}"muse.c.o        ƒ  {hack.h}
  399. "{ObjDir}"music.c.o        ƒ  {hack.h}
  400. "{ObjDir}"o_init.c.o    ƒ  {hack.h}
  401. "{ObjDir}"objects.c.o    ƒ  {config.h} "{Include}"obj.h "{Include}"objclass.h∂
  402.                            "{Include}"prop.h "{Include}"color.h
  403. "{ObjDir}"objnam.c.o    ƒ  {hack.h}
  404. "{ObjDir}"options.c.o    ƒ  {hack.h} "{Include}"termcap.h
  405. "{ObjDir}"pager.c.o        ƒ  {macconf.h}
  406. "{ObjDir}"panic.c.o        ƒ  {config.h}
  407. "{ObjDir}"pickup.c.o    ƒ  {hack.h}
  408. "{ObjDir}"pline.c.o        ƒ  {hack.h} {epri.h}
  409. "{ObjDir}"polyself.c.o    ƒ  {hack.h}
  410. "{ObjDir}"potion.c.o    ƒ  {hack.h}
  411. "{ObjDir}"pray.c.o        ƒ  {hack.h} {epri.h}
  412. "{ObjDir}"priest.c.o    ƒ  {hack.h} "{Include}"mfndpos.h {eshk.h}∂
  413.                            {epri.h} {emin.h}
  414. "{ObjDir}"quest.c.o        ƒ  {hack.h} "{Include}"quest.h "{Include}"qtext.h
  415. "{ObjDir}"questpgr.c.o    ƒ  {hack.h} "{Include}"qtext.h
  416. "{ObjDir}"read.c.o        ƒ  {hack.h}
  417. "{ObjDir}"rect.c.o        ƒ  {hack.h}
  418. "{ObjDir}"restore.c.o    ƒ  {hack.h} "{Include}"lev.h "{Include}"termcap.h "{Include}"quest.h
  419. "{ObjDir}"rip.c.o        ƒ  {hack.h}
  420. "{ObjDir}"rnd.c.o        ƒ  {hack.h}
  421. "{ObjDir}"rumors.c.o    ƒ  {hack.h}
  422. "{ObjDir}"save.c.o        ƒ  {hack.h} "{Include}"lev.h "{Include}"quest.h
  423. "{ObjDir}"shk.c.o        ƒ  {hack.h} {eshk.h}
  424. "{ObjDir}"shknam.c.o    ƒ  {hack.h} {eshk.h}
  425. "{ObjDir}"sit.c.o        ƒ  {hack.h} "{Include}"artifact.h
  426. "{ObjDir}"sounds.c.o    ƒ  {hack.h} "{Include}"edog.h
  427. "{ObjDir}"sp_lev.c.o    ƒ  {hack.h} "{Include}"sp_lev.h "{Include}"rect.h
  428. "{ObjDir}"spell.c.o        ƒ  {hack.h}
  429. "{ObjDir}"steal.c.o        ƒ  {hack.h}
  430. "{ObjDir}"timeout.c.o    ƒ  {hack.h}
  431. "{ObjDir}"topten.c.o    ƒ  {hack.h}
  432. "{ObjDir}"track.c.o        ƒ  {hack.h}
  433. "{ObjDir}"trap.c.o        ƒ  {hack.h}
  434. "{ObjDir}"u_init.c.o    ƒ  {hack.h}
  435. "{ObjDir}"uhitm.c.o        ƒ  {hack.h}
  436. "{ObjDir}"vault.c.o        ƒ  {hack.h} {vault.h}
  437. "{ObjDir}"version.c.o    ƒ  {hack.h} "{Include}"date.h  "{Include}"patchlevel.h "{Include}"termcap.h
  438. "{ObjDir}"vision.c.o    ƒ  {hack.h} "{Include}"vis_tab.h
  439. "{ObjDir}"weapon.c.o    ƒ  {hack.h}
  440. "{ObjDir}"were.c.o        ƒ  {hack.h}
  441. "{ObjDir}"wield.c.o        ƒ  {hack.h}
  442. "{ObjDir}"windows.c.o    ƒ  {hack.h}
  443. "{ObjDir}"wizard.c.o    ƒ  {hack.h} "{Include}"qtext.h
  444. "{ObjDir}"worm.c.o        ƒ  {hack.h} "{Include}"lev.h
  445. "{ObjDir}"worn.c.o        ƒ  {hack.h}
  446. "{ObjDir}"write.c.o        ƒ  {hack.h}
  447. "{ObjDir}"zap.c.o        ƒ  {hack.h}
  448.  
  449. "{ObjDir}"getline.c.o    ƒ    {hack.h} "{Include}"wintty.h "{Include}"func_tab.h
  450. "{ObjDir}"topl.c.o        ƒ    {hack.h} "{Include}"wintty.h "{Include}"termcap.h
  451. "{ObjDir}"wintty.c.o     ƒ    {hack.h} "{Include}"wintty.h "{Include}"termcap.h
  452.  
  453. "{ObjDir}"mactty.c.o    ƒ    {hack.h} "{Include}"mactty.h "{Include}"mttypriv.h
  454. "{ObjDir}"mttymain.c.o     ƒ    {hack.h} "{Include}"mactty.h
  455.  
  456. "{ObjDir}"MakeDefs.c.o  ƒ  {config.h} {permonst.h} "{Include}"objclass.h ∂
  457.                            "{Include}"monsym.h "{Include}"artilist.h ∂
  458.                            "{Include}"patchlevel.h "{Include}"qtext.h
  459.  
  460. "{ObjDir}"dgn_yacc.c.o    ƒ  {config.h} "{Include}"dgn_file.h
  461. "{ObjDir}"dgn_lex.c.o    ƒ  {config.h} "{Include}"dgn_comp.h "{Include}"dgn_file.h
  462. "{ObjDir}"dgn_main.c.o    ƒ  {config.h}
  463.  
  464. "{ObjDir}"lev_yacc.c.o    ƒ  {hack.h} "{Include}"sp_lev.h
  465. "{ObjDir}"lev_lex.c.o    ƒ  {hack.h} "{Include}"lev_comp.h "{Include}"sp_lev.h
  466. "{ObjDir}"lev_main.c.o    ƒ  {hack.h} "{Include}"sp_lev.h
  467.  
  468. "{ObjDir}"dprintf.c.o    ƒ    {hack.h}
  469.  
  470. # -------- Build the dungeon compiler, as an MPW tool ---------------
  471.     
  472. DgnObjs= "{ObjDir}"dgn_lex.c.o        ∂
  473.          "{ObjDir}"dgn_main.c.o        ∂
  474.          "{ObjDir}"dgn_yacc.c.o        ∂
  475.          "{ObjDir}"alloc.c.o        ∂
  476.          "{ObjDir}"panic.c.o        ∂
  477.          "{Libraries}"Stubs.o        ∂
  478.          "{Libraries}"Runtime.o     ∂
  479.          "{Libraries}"ToolLibs.o    ∂
  480.          "{Libraries}"Interface.o    ∂
  481.          "{CLibraries}"StdCLib.o
  482.  
  483. DgnComp    ƒ {DgnObjs}
  484.     Link {MPWToolLink}  ∂
  485.          {DgnObjs} -o {Targ} ∂
  486. #          -sg Main=alloc,dgn_lex,dgn_main,dgn_yacc,panic,STDIO,INTENV,SADEV ∂
  487.         
  488. # -------- Build the special-level compiler, as an MPW tool ---------------
  489.     
  490. LevObjs= "{ObjDir}"monst.c.o        ∂
  491.          "{ObjDir}"objects.c.o        ∂
  492.          "{ObjDir}"drawing.c.o        ∂
  493.          "{ObjDir}"alloc.c.o        ∂
  494.          "{ObjDir}"panic.c.o        ∂
  495.          "{ObjDir}"lev_lex.c.o        ∂
  496.          "{ObjDir}"lev_yacc.c.o        ∂
  497.          "{ObjDir}"macfile.c.o        ∂
  498.          "{ObjDir}"macerrs.c.o        ∂
  499.          "{ObjDir}"files.c.o        ∂
  500.          "{ObjDir}"decl.c.o            ∂
  501.          "{Libraries}"Stubs.o        ∂
  502.          "{ObjDir}"lev_main.c.o        ∂
  503.          "{CLibraries}"StdCLib.o    ∂
  504.           "{Libraries}"ToolLibs.o    ∂
  505.          "{Libraries}"Runtime.o     ∂
  506.          "{Libraries}"Interface.o  
  507.  
  508. LevComp    ƒ {LevObjs}
  509.     Link {MPWToolLink} ∂
  510.          {LevObjs} -o {Targ} ∂
  511. #         -sg Main=objects,monst,macfile,files,macerrs,lev_lex,lev_main,lev_yacc ∂
  512.         
  513. # -------- Build MakeDefs, as an MPW tool ---------------
  514.  
  515. MakeDefsObjs= "{ObjDir}"objects.c.o        ∂
  516.               "{ObjDir}"monst.c.o        ∂
  517.               "{ObjDir}"MakeDefs.c.o    ∂
  518.               "{Libraries}"Stubs.o        ∂
  519.               "{Libraries}"Runtime.o     ∂
  520.               "{Libraries}"Interface.o    ∂
  521.               "{Libraries}"ToolLibs.o    ∂
  522.               "{CLibraries}"StdCLib.o
  523.  
  524. MakeDefs    ƒƒ {MakeDefsObjs}
  525.     Link {MPWToolLink} ∂
  526.          {MakeDefsObjs} -o {Targ}
  527.     
  528.         
  529. # ------------ If MakeDefs changes we need to rebuild some include files -----------
  530.  
  531. "{Include}"date.h     ƒ     MakeDefs
  532.     MakeDefs -v
  533.     Move -y "{Dat}"Options "{ObjDir}"
  534.  
  535. "{ObjDir}"Options    ƒ    "{Include}"date.h
  536.  
  537. "{Include}"onames.h ƒ    MakeDefs
  538.     MakeDefs -o
  539.  
  540. "{Include}"pm.h     ƒ    MakeDefs
  541.     MakeDefs -p
  542.  
  543. "{Src}"vis_tab.c    ƒ    MakeDefs "{Include}"vis_tab.h
  544.  
  545. "{Include}"vis_tab.h ƒ    MakeDefs
  546.     MakeDefs -z
  547.     
  548. "{ObjDir}"Dungeon.pdf  ƒ "{Dat}"Dungeon.def MakeDefs
  549.     MakeDefs -e
  550.     Move -y "{Dat}"Dungeon.pdf "{ObjDir}"
  551.     
  552. "{Src}"monstr.c ƒ Makedefs {config.h}
  553.     MakeDefs -m
  554.  
  555. #---------------- Main dependencies and the application, at last -------------------
  556.  
  557. "{Results}"Data  ƒ "{Dat}"Data.base MakeDefs
  558.         MakeDefs -d
  559.         Move -y "{Dat}"Data "{Results}"
  560.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Data
  561.  
  562. "{Results}"Rumors  ƒ "{Dat}"Rumors.tru "{Dat}"Rumors.fal MakeDefs
  563.         MakeDefs -r
  564.         Move -y "{Dat}"Rumors "{Results}"
  565.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Rumors
  566.  
  567. "{Results}"Oracles ƒ "{Dat}"Oracles.txt MakeDefs
  568.         MakeDefs -h
  569.         Move -y "{Dat}"Oracles "{Results}"
  570.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Oracles
  571.  
  572. "{Results}"Cmdhelp ƒ "{Dat}"Cmdhelp
  573.         duplicate -y "{Dat}"Cmdhelp "{Results}"
  574.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Cmdhelp
  575.  
  576. "{Results}"Record  ƒ 
  577.         Open -n -t "{Results}"Record
  578.         Replace /•/ "This is the record file"
  579.         Close -y "{Results}"Record
  580.  
  581. "{Results}"NetHack∂ Defaults  ƒ 
  582.         duplicate -y "{MacDir}"NHDeflts "{Results}"NetHack∂ Defaults
  583.  
  584. "{Results}"Dungeon  ƒ "{ObjDir}"Dungeon.pdf DgnComp
  585.         DgnComp "{ObjDir}"dungeon.pdf
  586.         Move -y "{ObjDir}"Dungeon "{Results}"
  587.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Dungeon
  588.  
  589. "{Results}"BigRoom.lev  ƒ "{Dat}"BigRoom.des LevComp
  590.         LevComp "{Dat}"BigRoom.des
  591.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  592.         Move -y BigRoom.lev "{Results}"
  593.  
  594. "{Results}"Castle.lev  ƒ "{Dat}"Castle.des LevComp
  595.         LevComp "{Dat}"Castle.des
  596.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  597.         Move -y Castle.lev "{Results}"
  598.  
  599. "{Results}"air.lev        ƒ "{dat}"endgame.des levcomp
  600.     LevComp "{dat}"endgame.des
  601.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  602.     Move -y air.lev "{results}"
  603.     Move -y astral.lev "{Results}"
  604.     Move -y earth.lev "{Results}"
  605.     Move -y fire.lev "{Results}"
  606.     Move -y water.lev "{Results}"
  607.  
  608. "{Results}"Medusa-1.lev ƒ "{Dat}"Medusa.des LevComp
  609.         LevComp "{Dat}"Medusa.des
  610.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  611.         Move -y Medusa-1.lev "{Results}"
  612.         Move -y Medusa-2.lev "{Results}"
  613.  
  614. "{Results}"Oracle.lev  ƒ "{Dat}"Oracle.des LevComp
  615.         LevComp "{Dat}"Oracle.des
  616.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  617.         Move -y Oracle.lev "{Results}"
  618.  
  619. "{Results}"Mine_End.lev  ƒ "{Dat}"Mines.des LevComp
  620.         LevComp "{Dat}"Mines.des
  621.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  622.         Move -y Mine_End.lev "{Results}" 
  623.         Move -y MineFill.lev "{Results}"
  624.         Move -y MineTown.lev "{Results}"
  625.  
  626. "{Results}"Tower1.lev  ƒ "{Dat}"Tower.des LevComp
  627.         LevComp "{Dat}"Tower.des
  628.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  629.         Move -y Tower1.lev "{Results}"
  630.         Move -y Tower2.lev "{Results}"
  631.         Move -y Tower3.lev "{Results}"
  632.  
  633. "{Results}"knox.lev ƒ "{Dat}"knox.des LevComp
  634.         LevComp "{Dat}"knox.des
  635.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  636.         Move -y knox.lev "{Results}"
  637.  
  638. "{Results}"wizard1.lev ƒ "{Dat}"yendor.des LevComp
  639.         LevComp "{Dat}"yendor.des
  640.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  641.         Move -y wizard1.lev "{Results}"
  642.         Move -y wizard2.lev "{Results}"
  643.         Move -y wizard3.lev "{Results}"
  644.         Move -y fakewiz1.lev "{Results}"
  645.         Move -y fakewiz2.lev "{Results}"
  646.  
  647. "{Results}"A-start.lev  ƒ "{Dat}"Arch.des LevComp
  648.         LevComp "{Dat}"Arch.des
  649.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  650.         Move -y A-fill≈.lev    "{Results}"
  651.         Move -y A-goal.lev "{Results}"
  652.         Move -y A-locate.lev "{Results}"
  653.         Move -y A-start.lev "{Results}"
  654.  
  655. "{Results}"B-start.lev  ƒ "{Dat}"Barb.des LevComp
  656.         LevComp "{Dat}"Barb.des
  657.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  658.         Move -y B-fill≈.lev    "{Results}"
  659.         Move -y B-goal.lev "{Results}"
  660.         Move -y B-locate.lev "{Results}"
  661.         Move -y B-start.lev "{Results}"
  662.  
  663. "{Results}"C-start.lev  ƒ "{Dat}"Caveman.des LevComp
  664.         LevComp "{Dat}"Caveman.des
  665.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  666.         Move -y C-fill≈.lev    "{Results}"
  667.         Move -y C-goal.lev "{Results}"
  668.         Move -y C-locate.lev "{Results}"
  669.         Move -y C-start.lev "{Results}"
  670.  
  671. "{Results}"E-start.lev  ƒ "{Dat}"Elf.des LevComp
  672.         LevComp "{Dat}"Elf.des
  673.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  674.         Move -y E-fill≈.lev    "{Results}"
  675.         Move -y E-goal.lev "{Results}"
  676.         Move -y E-locate.lev "{Results}"
  677.         Move -y E-start.lev "{Results}"
  678.  
  679. "{Results}"H-start.lev  ƒ "{Dat}"Healer.des LevComp
  680.         LevComp "{Dat}"Healer.des
  681.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  682.         Move -y H-fill≈.lev    "{Results}"
  683.         Move -y H-goal.lev "{Results}"
  684.         Move -y H-locate.lev "{Results}"
  685.         Move -y H-start.lev "{Results}"
  686.  
  687. "{Results}"K-start.lev  ƒ "{Dat}"Knight.des LevComp
  688.         LevComp "{Dat}"Knight.des
  689.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  690.         Move -y K-fill≈.lev    "{Results}"
  691.         Move -y K-goal.lev "{Results}"
  692.         Move -y K-locate.lev "{Results}"
  693.         Move -y K-start.lev "{Results}"
  694.  
  695. "{Results}"P-start.lev  ƒ "{Dat}"Priest.des LevComp
  696.         LevComp "{Dat}"Priest.des
  697.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  698.         Move -y P-fill≈.lev    "{Results}"
  699.         Move -y P-goal.lev "{Results}"
  700.         Move -y P-locate.lev "{Results}"
  701.         Move -y P-start.lev "{Results}"
  702.  
  703. "{Results}"R-start.lev  ƒ "{Dat}"Rogue.des LevComp
  704.         LevComp "{Dat}"Rogue.des
  705.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  706.         Move -y R-fill≈.lev    "{Results}"
  707.         Move -y R-goal.lev "{Results}"
  708.         Move -y R-locate.lev "{Results}"
  709.         Move -y R-start.lev "{Results}"
  710.  
  711. "{Results}"S-start.lev  ƒ "{Dat}"Samurai.des LevComp
  712.         LevComp "{Dat}"Samurai.des
  713.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  714.         Move -y S-fill≈.lev    "{Results}"
  715.         Move -y S-goal.lev "{Results}"
  716.         Move -y S-locate.lev "{Results}"
  717.         Move -y S-start.lev "{Results}"
  718.  
  719. "{Results}"T-start.lev  ƒ "{Dat}"Tourist.des LevComp
  720.         LevComp "{Dat}"Tourist.des
  721.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  722.         Move -y T-fill≈.lev    "{Results}"
  723.         Move -y T-goal.lev "{Results}"
  724.         Move -y T-locate.lev "{Results}"
  725.         Move -y T-start.lev "{Results}"
  726.  
  727. "{Results}"V-start.lev  ƒ "{Dat}"Valkyrie.des LevComp
  728.         LevComp "{Dat}"Valkyrie.des
  729.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  730.         Move -y V-fill≈.lev    "{Results}"
  731.         Move -y V-goal.lev "{Results}"
  732.         Move -y V-locate.lev "{Results}"
  733.         Move -y V-start.lev "{Results}"
  734.  
  735. "{Results}"W-start.lev  ƒ "{Dat}"Wizard.des LevComp
  736.         LevComp "{Dat}"Wizard.des
  737.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  738.         Move -y W-fill≈.lev    "{Results}"
  739.         Move -y W-goal.lev "{Results}"
  740.         Move -y W-locate.lev "{Results}"
  741.         Move -y W-start.lev "{Results}"
  742.  
  743. "{Results}"Quest.Dat    ƒ "{Dat}"Quest.txt MakeDefs
  744.         MakeDefs -q
  745.         Move -y "{Dat}"Quest.Dat "{Results}"
  746.         SetFile -t "{FileType}" -c "{FileCreator}" "{Results}"Quest.dat
  747.  
  748. "{Results}"Valley.lev  ƒ "{Dat}"Gehennom.des LevComp
  749.         LevComp "{Dat}"Gehennom.des
  750.         SetFile -t "{FileType}" -c "{FileCreator}" ≈.lev
  751.         Move -y Asmodeus.lev "{Results}"
  752.         Move -y Baalz.lev "{Results}"
  753.         Move -y Juiblex.lev "{Results}"
  754.         Move -y Orcus.lev "{Results}"
  755.         Move -y Sanctum.lev "{Results}"
  756.         Move -y Valley.lev "{Results}"
  757.  
  758. "{Results}"NetHack  ƒƒ "{MacDir}"NetHack.r "{MacDir}"NetHack.rsrc {BuiltInData} "{MacDir}"Sounds.rsrc
  759.         Set Dat "{Dat}"            # Make the internal Make variable a Shell variable
  760.         Export Dat                # and export it so Rez can use it to find things
  761.         Set ObjDir "{ObjDir}"
  762.         Export ObjDir
  763.         Rez "{MacDir}"NetHack.r  -s "{MacDir}" -append -o "{Results}"NetHack
  764.  
  765. "{Results}"NetHack    ƒƒ {CObjs}
  766.         Link {NetHackLink} {CObjs} -o "{Results}"NetHack
  767.            Setfile -a B "{Results}"NetHack
  768.         Beep C,12 A,12 C,12 B,12 C,15
  769.